home *** CD-ROM | disk | FTP | other *** search
- /*
- File: MoreProcesses.h
-
- Contains:
-
- Written by: Pete Gontier
-
- Copyright: Copyright (c) 1998 Apple Computer, Inc., All Rights Reserved.
-
- You may incorporate this Apple sample source code into your program(s) without
- restriction. This Apple sample source code has been provided "AS IS" and the
- responsibility for its operation is yours. You are not permitted to redistribute
- this Apple sample source code as "Apple sample source code" after having made
- changes. If you're going to re-distribute the source, we require that you make
- it clear in the source that the code was descended from Apple sample source
- code, but that you've made changes.
-
- Change History (most recent first):
-
- <6> 20/3/00 Quinn Added MoreProcIsProcessAtFront. Tidied up some copy and paste
- errors in the comments.
- <5> 3/9/00 gaw API changes for MoreAppleEvents
- <4> 6/3/00 Quinn Added MoreGetProcessAppFile.
- <3> 1/22/99 PCG TARGET_CARBON
- <2> 11/11/98 PCG fix headers
- <1> 11/10/98 PCG first big re-org at behest of Quinn
-
- Old Change History (most recent first):
-
- <6> 10/11/98 Quinn Convert "MorePrefix.h" to "MoreSetup.h".
- <5> 11/9/98 PCG fix comment 4
- <4> 11/9/98 PCG add copyright blurb
- <3> 9/9/98 PCG re-work import and export pragmas
- <2> 7/24/98 PCG coddle linker (C++, CFM-68K)
- <1> 6/16/98 PCG initial checkin
- */
-
- #pragma once
-
- #include "MoreSetup.h"
-
- #include <Processes.h>
-
- enum { kSignatureFinder = 'MACS' };
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #pragma import on // for clients
- #pragma export on // for building a library
- /******************************************************************************
- Return a ProcessSerialNumber for a process whose signature (creator)
- matches the input values. This routine will find the first process that
- matches the creator.
-
- The ProcessSerialNumber will be kNoProcess is the requested process cannot
- be found.
-
- pCreator input: The creator of the process to be found.
- pPSN input: Pointer to a ProcessSerialNumber.
- output: A valid PSN or kNoProcess in no match is found.
-
- RESULT CODES
- ____________
- noErr 0 No error
- procNotFound –600 No process matched specified creator
- ____________
- */
-
- extern pascal OSStatus MoreProcFindProcessByCreator(const OSType pCreator,ProcessSerialNumber *pPSN);
- /******************************************************************************
- Return a ProcessSerialNumber for a process whose signature (type and creator)
- matches the input values. This routine will find the first process that
- matches the type and creator.
-
- The ProcessSerialNumber will be kNoProcess is the requested process cannot
- be found.
-
- pCreator input: The creator type of the process to be found.
- pType input: The file type of the process to be found.
- pPSN input: Pointer to a ProcessSerialNumber.
- output: A valid PSN or kNoProcess in no match is found.
-
- RESULT CODES
- ____________
- noErr 0 No error
- procNotFound –600 No process matched specified type and creator
- ____________
- */
-
- extern pascal OSStatus MoreProcFindProcessBySignature(const OSType pCreator,const OSType pType,ProcessSerialNumber *pPSN);
- /******************************************************************************
- Returns the name of the process specified by ProcessSerialNumberPtr.
-
- The string pointed to by pProcessName will be untouched if the process
- can't be found.
-
- pPSN input: The process whose name you want (nil for current)
- pProcessName input: Pointer to a Str31 for the process name.
- output: The process name.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 Process serial number is invalid
- ____________
- */
- extern pascal OSStatus MoreProcGetProcessName(
- const ProcessSerialNumberPtr pPSN,
- StringPtr pProcessName);
- /******************************************************************************
- Returns information about the process specified by ProcessSerialNumberPtr.
-
- pProcessType and pCreator will be untouched if the process
- can't be found.
-
- pPSN input: The process whose info you want (nil for current).
- pProcessType output: The process's type.
- pCreator output: The process's signature.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 Process serial number is invalid
- ____________
- */
- extern pascal OSStatus MoreProcGetProcessTypeSignature(
- const ProcessSerialNumberPtr pPSN,
- OSType *pProcessType,
- OSType *pCreator);
- /******************************************************************************
- Returns the FSSpec for the current process
-
- pFSSpec output: The process's FSSpec.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 pFSSpec is nil
- ____________
- */
- extern pascal OSStatus MoreProcGetCurrentProcessFSSpec(FSSpec *pFSSpec);
- /******************************************************************************
- Returns the FSSpec for the process specified by ProcessSerialNumberPtr.
-
- pPSN input: The process's whose file you want (nil for current).
- pAppFile output: The process's appFile.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 Process serial number is invalid (or pPSN or pAppFile is nil)
- ____________
- */
- extern pascal OSStatus MoreProcGetProcessAppFile(const ProcessSerialNumber *pPSN,FSSpec *pAppFile);
- /******************************************************************************
- Returns the Process Information for the process specified by pPSN.
-
- pPSN input: The process's Serial Number
- pPIR output: The process's Information.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 Process serial number is invalid (or pPSN or pPIR is nil)
- ____________
- */
- extern pascal OSStatus MoreProcGetProcessInformation(const ProcessSerialNumber *pPSN,ProcessInfoRec *pPIR);
- /******************************************************************************
- Returns true if the process specified by pPSN is a background only application.
-
- pPSN input: The process's Serial Number
- pIsBOA output: The process's Information.
-
- RESULT CODES
- ____________
- noErr 0 No error
- paramErr –50 Process serial number is invalid (or pPSN or pIsBOA is nil)
- ____________
- */
- extern pascal OSStatus MoreProcIsProcessBackgroundOnly(const ProcessSerialNumber *pPSN,Boolean *pIsBOA);
-
- //*****************************************************************************
- // Returns true if the process specified by pPSN is the front process.
- // Pass nil to pPSN to test the current process.
-
- extern pascal Boolean MoreProcIsProcessAtFront(const ProcessSerialNumber *pPSN);
-
- #pragma import reset // for clients
- #pragma export reset // for building a library
-
- #ifdef __cplusplus
- }
- #endif
-